# InvStream

![invstream](screenshoot/screenshoot2.png)

São ferramentas para oferecer uma interface de acesso a vídeos pelo terminal. Estas ferramentas usam a api do [invidious](https://github.com/omarroth/invidious).

>  _Com essa ferramenta você pode ouvir podcasts que estão no Youtube via tty usando um player como o **mpv**_

## Instalação

Certifique-se de ter os seguintes pacotes instalados:
`sudo apt install python3 python3-pip tor proxychains4 mpv`

```
git clone https://notabug.org/sonecudo/InvStream
cd InvStream
sudo pip3 install .
```

## Pesonalização

Configurações podem ser alteradas no arquivo (`~/.invstreamrc`)

```
[DEFAULT]

user_agent = Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0
tor_proxy = yes
quality = hd
player = mpv
cache_timeout = 86400
  
  
[instances]
  
# Instâncias usadas quando requisição para api invidious.io não funciona
default_instances = https://invidious.silkky.cloud
https://inv.bp.projectsegfau.lt
https://invidious.weblibre.org
  
# Instâncias que não respondem como esperado
bad_instances = https://yewtu.be
https://invidious.protokolla.fi
https://yt.oelrichsgarcia.de
https://onion.tube
```
  
## Comandos

__invstream__:

```bash
./invstream -h
usage: InvStream [-h] [--tor {yes,no}] [-q {hd,sd}] [-u URL] [-i] [-s SEARCH] {audio,video}

Broadcast videos from terminal

positional arguments:
  {audio,video}         What do you want?

optional arguments:
  -h, --help            show this help message and exit
  --tor {yes,no}        Whether or not to use tor proxy
  -q {hd,sd}, --quality {hd,sd}
                        Video quality
  -u URL, --url URL     video URL
  -i, --interactive     Interactive Search
  -s SEARCH, --search SEARCH
                        Search terms (also use "-i" for interactive input)

example:

	invstream --search "search term" video
	invstream -is- audio

```

> Este script em python que abre fluxo de vídeo direto no player escolhido.

---

* Pode ser integrado com macro ao leitor de feeds **NewsBoat**

Exemplo: `macro v set browser "setsid invstream video -u %u -q hd" ; open-in-browser ; set browser qutebrowser`

* Pode ser chamado do Qutebrowser com teclas de vínculo(binding).

Exemplo: `:bind ,v hint links spawn invstream video -u {hint-url} -q hd --tor yes`

